home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / ACORNUSERS / EMULATOR / FRODO / !Help
Text File  |  1997-08-11  |  22KB  |  607 lines

  1. FRODO V4.1 FOR ACORN RISC OS, Release #2
  2. ========================================
  3.  
  4.  
  5.  
  6.  
  7. This is the Acorn port of the C64 Emulator Frodo. General information and
  8. legal issues are included in the Docs directory, this file deals with the
  9. RISC OS aspects only.
  10.  
  11.  
  12.  
  13.  
  14. Changes since Release #1:
  15. -------------------------
  16.  
  17. - Size of !frodo / !frodosc sprite correctly set for icon bar icon (was
  18.   only noticable if you weren't using the default icons).
  19. - Selecting Preferences / Configuration window from icon bar menu will
  20.   bring the window to the top if it's already open.
  21. - Fixed bug in 1541 emulation: now opens correctly with write access;
  22.   when 1541 emulation is enabled all unused drives are closed.
  23. - Slightly altered Templates courtesy of Marco Baye and Richard G. Hallas.
  24. - Corrected bug that crashed Frodo when images were dragged to anything
  25.   but the path icons in the Preferences window.
  26. - Preferences and Configuration windows are now opened on top of the
  27.   window stack rather than behind the emulator window.
  28. - Correct handling of Select / Adjust when clicking the OK buttons in
  29.   the Preferences / Configuration windows.
  30. - Changing SkipFrames from 0 or very high values has an (instant) effect.
  31.   You can now also easily set SkipFrames to 0 (i.e. no display at all).
  32. - Resolved keyboard clashes better with multiple Frodos.
  33. - Slight modification of the sound support module.
  34. - The usual few cosmetic changes...
  35.  
  36.  
  37. Changes since Release #1.1:
  38. ---------------------------
  39.  
  40. - New snapshot format (first official one). Frodo 4.1 for RISC OS still can
  41.   read old style snapshots.
  42. - The Plotter has become a relocatable module which can be shared by all
  43.   Frodos and can also be used by other apps (emulators?). It's a bit
  44.   large but what the heck. See LEGAL ISSUES towards the end of this file.
  45. - Pause-key (copy).
  46. - Slightly better handling of control keys.
  47. - Added support for expansion ROMs (mapped from $8000 - $9fff).
  48. - Fixed some bugs in DIR drive emulation mode, namely the directory-code.
  49.   Now stuff like ``LOAD "$:xy*",8'' works in DIR mode as well. To load the
  50.   contents of a subdirectory you have to terminate the filename with a '/',
  51.   e.g. ``LOAD "$:subdir/",8''. If you leave out the '/' you get a directory
  52.   consisting only of the subdirectory.
  53. - Some internal changes of the actual emulator.
  54.  
  55.  
  56.  
  57.  
  58.  
  59. System Requirements:
  60. ====================
  61.  
  62. Frodo(PC) needs a WimpSlot of about 1344k, FrodoSC manages with 832k. All 3
  63. require RISC OS 3 and a lot of processing power. Although they should
  64. in theory run on any machine with enough RAM and a recent enough OS the
  65. minimum spec where Frodo is _halfway_ usable is an A5000, FrodoSC should
  66. be usable on a StrongARM only. If you want full frame rate and sound
  67. you'll need a StrongARM even for Frodo. This is due to Frodo being
  68. written in C++ so you really can't expect it to be as fast as the
  69. Breadbox, for instance. Thus this is basically RiscPC only, StrongARM
  70. _strong_ly recommended. Any joker out there with an ARM2 or 250 complaining
  71. about the speed will feel my foot where mommy put the thermometer.
  72.  
  73.  
  74.  
  75.  
  76.  
  77. Using Frodo:
  78. ============
  79.  
  80. Simply start Frodo(S/PC) by double-clicking on its filer icon (the filer must
  81. have seen the shared resources !FrodoRsrc) first. Frodo will install itself on
  82. the icon bar and open the emulation window (yes dudes, Frodo is multitasking).
  83. You should know how to use a C64 from now on because I won't start a course on
  84. that!
  85.  
  86.  
  87.  
  88.  
  89. Configuration:
  90. ==============
  91.  
  92. There are two configuration windows:
  93.  
  94. a) The Preferences window: deals with all system-independent configurations.
  95.    See the file "settings" in the Docs directory for more information.
  96.    You can set drive paths by dragging the object in question (a directory,
  97.    a D64- or a T64-image) onto the respective (writable) path icon. Frodo
  98.    will automatically try setting the drive emulation mode accordingly.
  99.    The reason the Preferences window is so big is that everything covered
  100.    there is in a class in Frodo, so regarding portability and unwanted
  101.    side-effects I decided to represent it as a unit rather than splitting
  102.    it up.
  103.  
  104. b) The System Configuration window deals with system-specific aspects of
  105.    the emulator. You can enter the keys used for the keyboard joystick
  106.    here as well as timing aspects. The entries are
  107.  
  108.    Poll After:    Number of centiseconds after which the WIMP should be
  109.            polled. This is never exact because the check whether
  110.            to poll is only done after an entire frame has been built.
  111.  
  112.    Speed After:    Number of centiseconds after which the Speedometer should
  113.            be updated. Don't use too small values because centiseconds
  114.            are basically too coarse a unit for something like this. Like
  115.            Poll After the check is made only once per frame.
  116.  
  117.    Poll Sound Lines: Number of rasterlines after which the sound system
  118.            should be polled to determine whether a new sample is
  119.            needed. For more see "Sound".
  120.  
  121.    Joystick Keys: You have to place the mouse pointer over the corresponding
  122.            icon and press the key you wish to use for this until you
  123.            see the icon change. For more see "Keyboard Joysticks"
  124.  
  125.  
  126. In both windows changes are only passed on to the emulator if you click OK
  127. or "save" (if present), drag the filer-sprite to a valid destination window
  128. or press return in the file-path icon (the only exception is "Skip Frames").
  129. "Cancel" in the "Preferences"-window will update the window with the currently
  130. used settings. This is done with the System Configuration window every time
  131. it's opened (i.e. to retrieve the current settings simply close the window and
  132. re-open it). You can activate new settings in both cases by dragging the
  133. corresponding files onto the window in question.
  134.  
  135.  
  136.  
  137.  
  138. Sound:
  139. ======
  140.  
  141. Sound is off by default. Switch it on from the Preferences window (SID Type).
  142.  
  143. Frodo uses a polling system to playback samples. "Poll Sound Lines" determines
  144. how often it should poll. If you don't poll enough (i.e. your machine is too
  145. slow) sample buffers will overflow, creating a discontinuity in the sound.
  146. The size of the sound buffer and the sample rate (22050Hz) are chosen in such
  147. a way that the polling has to be done every 2cs to avoid buffer overflows.
  148. Polling costs a little extra compared to an IRQ-oriented approach but it's
  149. the only way for a multitasking RISC OS-application which is mapped out between
  150. (WIMP) Polls. In this particular case it acually has its upsides because you
  151. can determine yourself how good a sound you want and how much computing power
  152. you wish to give to synthesis. Frodo's sound emulation is rather sophisticated
  153. and thus needs a lot of power; but if all you do is play some shoot'em up
  154. with laser-sounds overflowing sample buffers won't be all that noticable so
  155. you can get a rather good approximation by polling once per frame (every
  156. 312 lines).
  157. If you want to make sure no buffer overflow occurs you have to check how fast
  158. your computer can manage the emulation with sound enabled and SkipFrames=1.
  159. Then PollSoundLines = (speedometer percentage)*312/100 (i.e. for 100% speed
  160. once per frame). Buffer overflows can still occur during WIMP polls so if you
  161. want 100% accurate sound playback you have to force single tasking by pressing
  162. ScrollLock (see "Keyboard"). But unless you have a StrongARM I wouldn't use
  163. much sound at all.
  164.  
  165. The sound is known to work on a StrongARM RiscPC with the standard RO3.7 sound
  166. modules. It also works on an A5000 albeit very slowly.
  167.  
  168. You can alter the volume via the menus. A click on the volume bar will alter
  169. the volume immediately to that value, a drag will only alter the volume once
  170. it's completed.
  171.  
  172. Frodo for RISC OS uses 8 bit logarithmic samples. I don't have documentation
  173. about 16 bit linear and also have serious doubts it would make a hell of a lot
  174. of difference here.
  175.  
  176. Technical note:
  177.     The module "DigitalRenderer" provides the interface between Frodo's
  178.     sound system and RISC OS. Since Acorn's documentation of the DMA- and
  179.     Channel-Handlers is basically non-existant there might be problems
  180.     with future versions; if you experience problems try using older
  181.     versions of the modules "SoundChannels" and "SoundDMA". Sorry about
  182.     the inconvenience but I ABSOLUTELY REFUSE TO IMPLEMENT SOMETHING LIKE
  183.     THIS VIA VOICE GENERATORS!
  184.     Avoid activating new SoundDMA or SoundChannels modules while the
  185.     DigitalRenderer is active. You DON'T have to rmkill the DigitalRenderer
  186.     for this, but turn off sound emulation first, otherwise there might
  187.     be some confusion, although there shouldn't be any nasty crashes.
  188.     The DigitalRenderer module is documented in the resources directory.
  189.     It's registered and you may use it in your own programs.
  190.  
  191. More than one Frodo:
  192.     You can run more than one copy of Frodo / FrodoSC simultaneously. Only
  193.     one copy can have sound emulation enabled, though. But that much should
  194.     be obvious...
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. Display and screen modes:
  203. =========================
  204.  
  205. The screen plotters are customized assembler jobs. Since I really have far better
  206. things to do than write thousands of drivers for all manner of exotic cases
  207. there are some restrictions:
  208.  
  209. - Modes with eigen_x > eigen_y are not supported (none of the standard modes fall
  210.   into that cathegory).
  211.  
  212. - In modes with eigen_y > eigen_x lines are left out rather than columns being
  213.   doubled. You can get the columns-doubled display by doubling the display size.
  214.   This mode will be rather slow, however, since I only optimised the plotters to
  215.   the full for square pixel modes.
  216.  
  217. So to run Frodo use a square pixel mode. If you still run non-square pixel modes
  218. your computer is probably much too slow for Frodo anyway. All colour-depths and
  219. resolutions are supported. 16 and 32 bpp modes will take longer to plot because
  220. colour-lookup couldn't be avoided there and of course we're seriously struggling
  221. for bandwidth there. The window will always be scaled to such a size that one
  222. (horizontal) pixel of the C64-image corresponds to <zoom_factor> pixels of the
  223. screen. Thus the display size is only dependent upon your physical pixels, not the
  224. eigen values.
  225.  
  226. The reason SkipFrames affects the emulation speed so much lies not with my
  227. plotters (which are more or less as fast as possible) but with Frodo being
  228. intelligent enough not to build a frame if it won't be displayed anyway.
  229.  
  230. If you switch to a screen-mode with a different colour-depth the current frame
  231. will be re-calculated as far as possible. But if you switched from a 2bpp mode
  232. to a 256bpp mode you'll still be stuck with 4 colours until the frame is redrawn.
  233. Nothing can be done against that but I don't think it's noticable in the first
  234. place.
  235.  
  236.  
  237.  
  238.  
  239. Keyboard:
  240. =========
  241.  
  242. I implemented the keyboard emulation on a low-level basis. That way you can
  243. emulate more than one key being pressed at the same time. The downside of this is
  244. that the host machine's key-buffering cannot be used, so you have to keep a
  245. key pressed until the emulator recognizes it. This becomes frighteningly apparent
  246. in FrodoSC.
  247. The emulator window needs the input focus for keys to be passed to the emulator.
  248. The keyboard layout is basically like a real C64's; some keys had to be remapped,
  249. though.
  250.  
  251.  
  252. C64 keys:
  253. ---------
  254.  
  255. Alt        - CBM
  256. "="        - "=" (Remapped? Yes. On a real C64 this would be "+")
  257. "\"        - <Arrow up>
  258. Insert        - <Insert> (shift+del)
  259. Delete        - Guess...
  260. Home        - Ditto. (with shift: <Clear>)
  261. Esc, Break    - <Run/Stop>
  262. num"+", num"-"    - "+", "-"
  263. F1-F4        - F1, F3, F5, F7 (like on a real C64 you get F2, F4, F6, F8 by
  264.           pressing shift);
  265.  
  266. Everything else should be obvious.
  267.  
  268.  
  269. Frodo control keys:
  270. -------------------
  271.  
  272. F5        - Toggle sound emulation (between None and Digital)
  273. F6        - Enter SAM
  274. F7        - "Restore"
  275. F8        - Issue Reset
  276.  
  277. PageUp        - Increase SkipFrames
  278. PageDown    - Decrease SkipFrames
  279.  
  280. num"/"        - Toggle 1541 emulation state
  281. num"*"        - Toggle speed limiter
  282. copy        - Toggle pause
  283.  
  284. numLock        - Toggle keyboard joystick mapping
  285. ScrollLock    - "on": make Frodo single-task, i.e. it takes over the machine
  286.           and doesn't poll any more. "off": multitask (default). This
  287.           will only work if Frodo is not paused.
  288.  
  289.  
  290.  
  291. If the emulator window has the input focus only F9-F12 with combinations of
  292. Shift and Ctrl are passed on to other WIMP tasks. Everything else is claimed
  293. by the emulator.
  294.  
  295.  
  296. Keyboard Joysticks:
  297. ===================
  298.  
  299. Two joysticks are supported. If numLock is on only Joystick 1 is active and
  300. mapped to port 2. If numLock is off Joystick 1 is mapped to port 1, Joystick
  301. 2 becomes active and gets mapped to port 2. Default settings are
  302.  
  303.  
  304. Joystick 1:
  305. -----------
  306.  
  307. num"1"        - Keyboard joystick left
  308. num"2"        - right
  309. num"3"        - up
  310. num"."        - down
  311. num<enter>    - fire
  312.  
  313.  
  314. Joystick 2:
  315. -----------
  316.  
  317. "z"        - left
  318. "x"        - right
  319. "f"        - up
  320. "c"        - down
  321. "g"        - fire
  322.  
  323.  
  324. The settings can be changed in the Configuration window. Place the mousepointer
  325. over the icon for the joystick's direction and press the key you wish to
  326. map it to until it's recognized (this is a low-level key scan). Avoid mapping
  327. the cursor-keys or any of the Frodo control keys (see above). The <Break>-
  328. key is a special case: it maps the key to 255 which means "no mapping". This
  329. can be used to turn a keyboard-joystick off (if for instance you need only
  330. a joystick in port 1).
  331. Since there are internal keynumbers for the mouse buttons you can also define
  332. the mouse buttons as keyboard joysticks! This might be nice for some games
  333. that only use three directions (like left/right and up). Since this would lead
  334. to all sorts of events being triggered in multitasking mode you have to go
  335. singletasking in that case. Frodo will clear the mouse buffer when multitasking
  336. is resumed so no matter what you click during singletasking, there won't be
  337. a cascade of mouse clicks reported afterwards.
  338.  
  339. The "Joystick Swap"-entry in the Preferences window does not affect keyboard
  340. joysticks. Use numLock for that.
  341.  
  342.  
  343.  
  344.  
  345. Real Joysticks:
  346. ===============
  347.  
  348. The Acorn joystick interface is supported. You have to make sure the driver
  349. modules are loaded before Frodo is started. Apart from that the joysticks have
  350. to be activated from the Preferences Window. If Frodo is already running at the
  351. time you're loading the joystick driver modules you can still use joysticks if
  352. you first disable, then enable joysticks from the Preferences window (don't forget
  353. clicking OK after both operations).
  354. The "Joystick Swap"-entry in the Preferences window applies to _real_ joysticks
  355. only.
  356.  
  357.  
  358.  
  359.  
  360.  
  361. Loading files:
  362. ==============
  363.  
  364. Apart from the usual "LOAD..."-commands you can also load native C64 files (the
  365. filetype is usally &064 as used by Breadbox) by dragging them onto the emulator
  366. window. You can't avoid typing a "RUN" in the emulator window.
  367.  
  368.  
  369.  
  370.  
  371. 1541 Emulation:
  372. ===============
  373.  
  374. This is usually a waste of time in Frodo since Fastloaders won't work then either
  375. (although there are some exceptions like for instance Hawkeye which will run OK
  376. with Frodo + 1541 emulation ONCE THE ENTIRE GAME HAS BEEN LOADED, i.e. the levels
  377. get loaded OK.)
  378. In FrodoSC it works very well and most Fastloaders will work OK. Of course
  379. emulating C64 and 1541 on a single cycle basis is slooooooow!
  380. If you activate 1541 emulation the emulator will "hang" for a little while during
  381. which the drive is reset. Apart from that the LEDs for drives 9-11 will be greyed
  382. out. Even simple operations like loading a directory will take considerably longer;
  383. it's not broken, just wait for it! You shouldn't access the drive while it's still
  384. resetting (you can see when the drive becomes idle by watching the speedometer).
  385.  
  386.  
  387.  
  388.  
  389.  
  390. Drive Emulation:
  391. ================
  392.  
  393. RISC OS users can also use D64 images in DIR mode if they have D64FS loaded. The
  394. advantage: you also have write-access that way -- the D64 drive emulation in the
  395. current version of Frodo is read-only. Also I have a D64 image that doesn't work
  396. OK in D64 mode but does in DIR mode with D64FS.
  397.  
  398.  
  399.  
  400.  
  401.  
  402. Setting drive paths:
  403. ====================
  404.  
  405. There are two ways to make images (D64 / T64) or directories accessible through
  406. one of the four drives:
  407.  
  408. 1) Drag the image/directory to the writable path icons in the preferences window,
  409.    set the emulation mode (Frodo will try ruling out silly combinations like
  410.    running a directory in D64 mode) and click OK.
  411.  
  412. 2) Drag the image/directory to the drive icons in the emulator pane. This will
  413.    update Frodo's configuration immediately, you don't have to press OK in the
  414.    Prefs window or anything. The disadvantage is that the wrong drive emulation
  415.    mode might be chosen (i.e. the previous one), so make sure you have the right
  416.    type chosen for the drive before you do this (although again some silly
  417.    combinations are ruled out automatically).
  418.  
  419. If you have 1541 emulation enabled I strongly advise you to NEVER change the
  420. drive path unless the program specifically tells you to.
  421.  
  422.  
  423.  
  424.  
  425.  
  426. Speedometer:
  427. ============
  428.  
  429. Obviously this shows the speed of the emulation compared to a real C64. The border
  430. type indicates whether the speed limiter is on or off: slab in means off (default),
  431. slab out means on. It's also clickable, i.e. clicking on it will toggle the speed
  432. limiter state.
  433.  
  434.  
  435.  
  436.  
  437.  
  438. SAM:
  439. ====
  440.  
  441. SAM can't be called when Frodo is in single tasking mode. Unfortunately no Task
  442. Window can be used for this and I sure as hell won't rewrite SAM so you'll have
  443. to put up with a non-multitasking VDU4-type window. Most of you won't ever use
  444. SAM anyway.
  445.  
  446.  
  447.  
  448.  
  449. REU:
  450. ====
  451.  
  452. This is a RAM extension unit. I have no idea how to use it (they must have come
  453. up after my 8bit time...). The important thing is that activating a REU will
  454. claim memory (of approcimately the size of the REU) so if you're low on memory
  455. Frodo might fail and abort. So don't toy around with this in memory-tight
  456. situations when aborting would lead to data loss.
  457.  
  458.  
  459.  
  460.  
  461. EXPANSION ROMS:
  462. ===============
  463.  
  464. These can be mapped over the C64's RAM from $8000 - $9fff. Typical examples would
  465. be monitors, packers, system expansions and so on. The data to use as expansion ROM
  466. is expected as a C64-file, i.e. with the load-address in the first two bytes (must
  467. be $8000); also the filetype must be set to &64. To use such a file in this way
  468. drag it to the corresponding path icon in the Preferences-window, switch the XRom on
  469. and press OK. Warning: you should always issue a reset after you changed the
  470. setup of the expansion ROM.
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478. ADDITIONS TO FRODO 4.0:
  479. =======================
  480.  
  481.  
  482. These have become standard in Frodo V4.1 and are no longer available just for
  483. RISC OS. I'd still like to mention what I wrote in release #1:
  484.  
  485.  
  486. The Save RAM-entry:
  487. -------------------
  488.  
  489. This is NOT a snapshot facility; but sometimes I find it rather useful to read the
  490. C64's RAM. The first 64kB of the file are the normal 64kB RAM of the virtual C64,
  491. the next 1024 bytes are the colour-RAM. If 1541 emulation was enabled the next
  492. 2048 bytes will be the 1541 RAM.
  493.  
  494.  
  495.  
  496. The Snapshot-entry:
  497. -------------------
  498.  
  499. This will make a snapshot of the current emulation state. Or to be more precise,
  500. the emulation is continued unto the next vertical sync, then the emulation state
  501. is saved. Therefore if you make a snapshot from a paused emulator it will resume
  502. operation first!
  503. I'm not all that sure what I have to save and what not, quite frankly; but I seem
  504. to have guessed rather well since everything I tried so far appears to work. One
  505. of the most important issues to me was to make snapshots of Frodo and FrodoSC
  506. work with either variant (i.e. you can run FrodoSC to satisfy a Fastloader, make
  507. a snapshot when it's done and actually use the program with Frodo). That too is
  508. not exactly trivial but it seems to work as well. Just don't make snapshots during
  509. disk-operations! And unless you have 1541 emulation enabled you have to restore
  510. the drive paths by hand because they're not saved in the snapshot.
  511. The snapshot files might be system-dependent in their current form. The reason
  512. is that on a number of occasions I dump an entire struct to file; the alignment
  513. within the struct might differ on various machines. This is also true for new
  514. format snapshots where _everything_ is dumped in structs.
  515.  
  516. IMPORTANT NOTE:
  517.     If you save a snapshot with 1541 emulation enabled the resulting
  518.     snapshot will contain the pathname of the D64 image that was selected
  519.     at the time. If the location (or the path syntax) of this file changes
  520.     you have to change the snapshot file as well. One possibility would be
  521.     to just load the snapshot, ignoring the error, selecting the correct D64
  522.     image by hand, then making a new snapshot. The other would be changing the
  523.     pathname in the snapshot directly. It's stored in a 256 byte block in the
  524.     last 3kB of the file. You have to make sure you use overwrite-mode (DON'T
  525.     CHANGE THE SIZE OF THE SNAPSHOT FILE!!!) and terminate the name with a 0.
  526.  
  527. How to load a snapshot? Just drag the file onto the emulator window. These are,
  528. after all, not the dark ages...
  529.  
  530. Should you get a scrambled screen after loading a snapshot (I think I got that
  531. problem under control now but "never say never...") you can usually cure that by
  532. loading the snapshot again (without doing a reset or anything, just drag it onto
  533. the emulator window again). I don't think this should happen any more but just
  534. in case...
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542. THANKS:
  543. =======
  544.  
  545. - Christian Bauer for writing Frodo - a truly excellent emulator.
  546. - Richard G. Hallas for testing, suggestions and drawing additional icons.
  547. - Nick Burrett for porting GCC ;-)
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556. LEGAL ISSUES:
  557. =============
  558.  
  559. The source code I wrote during the Frodo port can be downloaded from the Frodo
  560. homepage (when Christian Bauer gets around to adding it). It falls into the same
  561. cathegory as the other bits of Frodo source code -- see "legalmush" in the Docs
  562. directory.
  563. One thing that does NOT fall into that cathegory is the plotters module (BPlot). You
  564. may not copy it in any form but as part of the Frodo distribution without my
  565. explicit permission.
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573. Now enjoy!
  574.  
  575.  
  576.  
  577.  
  578.  
  579. Contact:
  580. --------
  581.  
  582. Andreas Dehmel
  583. Am Schorn 18
  584. 82327 Tutzing
  585. Germany
  586.  
  587. email:    dehmel@informatik.tu-muenchen.de
  588.     (valid 'til october '97, we'll see after that...)
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597. "Everybody's doin' the Toxic Waltz
  598.  Kick your friend in the head and have a ball
  599.  Come on and do the Toxic Waltz
  600.  And slam your partner against the wall
  601.  Everybody's doin' the Toxic Waltz
  602.  Good friendly violent fun in store for all
  603.  Get up off your ass and Toxic Waltz
  604.  If you hit the floor you can always crawl!"
  605.  
  606.         (Exodus - The Toxic Waltz)
  607.